package service

import (
	"chat_project/module"
	"errors"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"github.com/go-xorm/xorm"
	"log"
)

// 全局变量
var DBEngin *xorm.Engine

// 初始化数据库,函数名必须是inti,才会自动执行
func init() {
	driverName := "mysql"
	dsName := "root:zyy_123456@(127.0.0.1:3306)/chat?charset=utf8"
	// 提前定义err，防止DBEngin为空指针
	err := errors.New("")
	fmt.Println("创建dbegine之前")
	DBEngin, err = xorm.NewEngine(driverName, dsName)
	fmt.Println("创建dbegine之后")
	if err != nil && err.Error() != "" {
		// 如果链接错误就不继续往下走
		log.Fatal(err.Error())
	}
	// 调试时候显示sql语句
	DBEngin.ShowSQL(true)
	// 设置最大连接数
	DBEngin.SetMaxOpenConns(2)
	// 是否自动建表
	DBEngin.Sync2(new(module.User), new(module.Contact), new(module.Community))
	fmt.Println("init data success")
}
